// TODO, iterative solution
